The present disclosure relates to network security, and to attack protection through validation of transactions.
A transaction ledger is a concept that was introduced in the context of decentralized payment systems, such as BITCOIN®, to denote an ordered set of transactions that have been validated or confirmed within the system up to a certain point in time. A transaction ledger may include a continuously-growing list of data records, where each data record may include data relating to one transaction. Further, encryption and other security measures may be used to secure the transaction ledger from tampering and revision.
A blockchain is a distributed database that may be used to maintain a transaction ledger. A blockchain may include a number of blocks, each block holding one or more of individual transactions or data records. Further, each block may contain a timestamp and a link to a previous block. In a typical blockchain network, users may be allowed to connect to the network, send new transactions to it, verify transactions, and create new blocks. However, a problem arises with replay attacks compromising the security of such a blockchain network. In a replay attack the attacker simply “replays” a message that was “eavesdropped” on from the network or that the attacker “saw” on the Blockchain. Such a replay would cause the blockchain validators to include this new transaction in the Blockchain, and thus repeat the result of that transaction without the original creator of the transaction intending this. This may be a problem, especially for actual payment systems. Accordingly, a need arises for techniques by which such replay attacks may be efficiently resisted, while preserving valid user permissions and privacy in the blockchain network.